Clojure: エディターからREPLに接続する
Clojureに入門した時、僕には「エディターからREPLに接続する」という言葉の意味が全然わからなかった。けっこうな期間わからなかったので、今の理解をまとめておく。 誰か僕と同じような境遇の人の助けになれば嬉しい。
といっても、実際には言葉通りのことしか説明できない。
僕がこの言葉に混乱したのは、今までの「エディター」と「REPL」という言葉の定義から大きく異なることが書かれているからだったと思う。 だって普通エディターは文字を書く場所で、REPLと接続するものではない。そしてREPLはちょっとしたコードを書いて動かしてみる場所で、どこからともなくコードを送り込まれる場所ではないからだ。 でも単に言葉の定義が変わるだけだ。Clojure開発において、エディターはREPLと接続できる場所だ。そしてREPLはどこからともなくコードを送り込まれる場所だ。 卑近な例だとrails consoleと感覚が似ているかもしれない。
あれは「接続」とはちょっと違うが、エディターで書いたコードをREPLからreload!することで読み込み、REPLで動かしてみることができる。あれは良いワークフローだ。エディターをREPLに接続して行う開発、いわゆるREPL駆動開発は超すごいrails consoleみたいなものだと思っておいても、あまり外れてはいないと思う。 小さなライブラリを書くときでも大きなWebアプリケーションを書くときでも同様にREPLを使って自分の書いた式に対してフィードバックを得られるのだ。